Nginx代理接口访问返回404 您所在的位置:网站首页 nginx mac地址转发 Nginx代理接口访问返回404

Nginx代理接口访问返回404

2023-11-18 01:43| 来源: 网络整理| 查看: 265

Nginx代理接口访问返回404 一、背景

因为不同业务系统间有接口调用,存在跨域问题,为了解决同源策略,需要将接口通过nginx去转发,但是配置完后通过postman请求一直存在访问404的问题。 访问地址:https://a.test.com/nsyapi/oauth/loginOther 被代理接口地址:https://b.prod.com/api/oauth/loginOther

二、Nginx配置后的现象

 postman请求接口出现404报错

三、原因

由于proxy_pass请求头出现问题导致返回404。可以在配置中添加一些相关的请求头来解决这个问题。例如

在这个配置中,我们添加了三个新的请求头Host、X-Real-IP和X-Forwarded-For,这可以帮助我们正确地将请求传递到目标服务器,并确保我们收到正确的响应。

四、 解决办法

去掉 proxy_redirect off; 增加 proxy_set_header Host $proxy_host;

  postman请求接口正常

命令行验证接口请求成功

[root@Nginx-01 yukw]# curl -H "Content-Type: application/json" -X POST -d '{"mobile":"18763823456","source":"aa","type":"3","route":"orderList?order_id=233&renew=abc"}' "https://b.prod.com/api/oauth/loginOther" {"code":1,"result":"dbb1623e-1747-4017-b8e8-96ace309982f","msg":"登录成功"} [root@Nginx-01 yukw]# curl -H "Content-Type: application/json" -X POST -d '{"mobile":"18763823456","source":"aa","type":"3","route":"orderList?order_id=233&renew=abc"}' "https://a.test.com/nsyapi/oauth/loginOther" {"code":1,"result":"f23b2a24-dd7e-464e-bc1f-a4806097e252","msg":"登录成功"} 五、总结:

1、确认proxy_pass指向的地址是否正确; 2、确认目标服务器是否正常; 3、确认proxy_pass请求头的正确性; 

好了,这就是Nginx代理接口访问返回404的解决办法了,如有问题可与博主一起交流讨论!

参考:https://pythonjishu.com/nvsknuuxbmoexma/ 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有